Algorithmique et Programmation - ST2S/STD2A

Les instructions séquentielles, conditionnelles et itératives

Exercice 1 : PGCD - Algorithme d'Euclide (inspiré par Bac S Antilles-Guyane 2015 pour spé)

Pour deux entiers naturels non nuls \(z\) et \(c\), on note \(\operatorname{r}{\left (z,c \right )}\) le reste dans la division euclidienne de \(z\) et \(c\). On considère l'algorithme suivant :

   \(t\)\(\operatorname{r}{\left (z,c \right )}\)
   Tant que \(t \neq 0\) :
   \(z\)\(c\)
   \(c\)\(t\)
   \(t\)\(\operatorname{r}{\left (z,c \right )}\)
   Afficher « \(c\) »
[A]Si ??? :
   Afficher « \(z\) et \(c\) sont premiers entre eux »

Faire fonctionner cet algorithme avec \(z=21\) et \(c=13\) en indiquant les valeurs de \(z\), \(c\) et \(t\) à chaque étape.

{"data": [["21", "?", "?", "?", "?", "?"], ["13", "?", "?", "?", "?", "?"], ["?", "?", "?", "?", "?", "?"]], "header_left": ["z", "c", "t"]}

Cet algorithme donne en sortie le PGCD des entiers naturels non nuls \(z\) et \(c\). Par quelle expression doit on compléter la ligne [A] pour qu’il indique si deux entiers naturels non nuls \(z\) et \(c\) sont premiers entre eux ou non.

Exercice 2 : Appel de fonction Python avec une instruction conditionnelle if sans else

On considère la fonction Python suivante :

def mystere(n):
    if n < 5 :
        n =  n - 1
    return n
Que renvoie l'appel de la fonction mystere(3) ?
Que renvoie l'appel de la fonction mystere(7) ?

Exercice 3 : Instruction conditionnelle if else - Python

On considère la fonction ci-dessous :

def mystere(n):
    if n < 8:
        return n // 8
    else:
        return n * 9
Quelle est la valeur renvoyée par mystere(10)?
Quelle est la valeur renvoyée parmystere(5)?

Exercice 4 : Dichotomie vers racine de polynôme 2nd degré (inspiré par Bac S Asie 2015)

On considère l'algorithme ci-dessous :

\(a\)\(2\)
\(b\)\(3\)
Tant que \(b - a \gt 0,3\) :
\(x\)\(\dfrac{a + b}{2}\)
Si \(\operatorname{f}{\left (a \right )} \times \operatorname{f}{\left (x \right )} \gt 0\) :
\(a\)\(x\)
Sinon
\(b\)\(x\)

Si \(f(x) = -14 + 3x^{2}\), quel est le resultat de \(\dfrac{a + b}{2}\) ?

Exercice 5 : Instruction conditionnelle if elif else - Python

On considère la fonction ci-dessous :

def mystere(n):
    if n == 3:
        return n * 1
    elif n <= -1:
        return n % 4
    else:
        return n - 1
Quelle est la valeur renvoyée par mystere(-3)?
Quelle est la valeur renvoyée parmystere(1)?
False